//package com.lst.quartz.springboot.config;
//
//import com.dangdang.ddframe.job.api.ElasticJob;
//import com.dangdang.ddframe.job.api.simple.SimpleJob;
//import com.dangdang.ddframe.job.config.JobCoreConfiguration;
//import com.dangdang.ddframe.job.config.simple.SimpleJobConfiguration;
//import com.dangdang.ddframe.job.event.JobEventConfiguration;
//import com.dangdang.ddframe.job.lite.api.JobScheduler;
//import com.dangdang.ddframe.job.lite.config.LiteJobConfiguration;
//import com.dangdang.ddframe.job.lite.spring.api.SpringJobScheduler;
//import com.dangdang.ddframe.job.reg.zookeeper.ZookeeperRegistryCenter;
//import com.lst.quartz.job.FirstElasticJob;
//import com.lst.quartz.job.FirstJob;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
///**
// * @author shengtao
// * @Description:
// * @date 2018/12/13 10:24
// */
//@Configuration
//public class SimpleJobConfig {
//
//    @Autowired
//    private JobEventConfiguration jobEventConfiguration;
//
//    @Autowired
//    private ZookeeperRegistryCenter zookeeperRegistryCenter;
//
//    @Bean
//    public FirstElasticJob firstElasticJob(){
//        return new FirstElasticJob();
//    }
//
//    @Bean(initMethod = "init")
//    public JobScheduler jobScheduler(@Value("${simpleJob.cron}") final String cron, @Value("${simpleJob.shardingTotalCount}") final int shardingTotalCount,
//                                     @Value("${simpleJob.shardingItemParameters}") final String shardingItemParameters){
//
//        return new SpringJobScheduler(firstElasticJob(),zookeeperRegistryCenter,getLiteJobConfiguration(FirstElasticJob.class,cron,shardingTotalCount,shardingItemParameters));
//
//    }
//
//    private LiteJobConfiguration getLiteJobConfiguration(final Class<? extends SimpleJob> jobClass, final String cron, final int shardingTotalCount, final String shardingItemParameters){
//        return LiteJobConfiguration.newBuilder(
//                new SimpleJobConfiguration(JobCoreConfiguration.newBuilder(jobClass.getName(),cron,shardingTotalCount).shardingItemParameters(shardingItemParameters).build(),
//                        jobClass.getCanonicalName())
//               ).overwrite(true).build();
//    }
//
//}
